package com.blb.thread;

/**
 * 自定义线程
 */
public class MyThread extends Thread{

    //重写run方法
    @Override
    public void run() {
        //Thread.currentThread() 当前线程
        for (int i = 0; i < 100; i++) {
            System.out.println(Thread.currentThread().getName() + "执行了" + i);
        }
    }

    public static void main(String[] args) {
        //创建线程，启动线程
        //启动线程使用start,为什么不使用run？ 使用start才能创建新的线程执行，使用run方法就是在主线程中执行
        //多线程是如何执行？？？CPU的调度是抢占式，每个线程去抢cpu资源，执行过程可以被其它线程抢过去
        for (int i = 0; i < 10; i++) {
            MyThread thread = new MyThread();
            thread.start();
        }
        //主方法中执行的线程是main
        System.out.println(Thread.currentThread().getName() + "执行了");
    }
}
